/*
** randomWord 产生任意长度随机字母数字组合
** randomFlag-是否任意长度 min-任意长度最小位[固定位数] max-任意长度最大位
*/

function randomWord(randomFlag, min, max){
    var str = "",
        range = min,
        arr = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z'];
    // 随机产生
    if(randomFlag){
        range = Math.round(Math.random() * (max-min)) + min;
    }
    for(var i=0; i<range; i++){
        pos = Math.round(Math.random() * (arr.length-1));
        str += arr[pos];
    }
    return str;
}
//  密码强度
function getLvl(txt) {
    //默认级别是0
    var lvl = 0;
    //判断这个字符串中有没有数字
    if (/[0-9]/.test(txt)) {
        lvl++;
    }
    //判断字符串中有没有小写字母
    if (/[a-z]/.test(txt)) {
        lvl++;
    }
    //判断字符串中有没有大写字母
    if (/[A-Z]/.test(txt)) {
        lvl++;
    }
    //判断字符串中有没有特殊符号
    if (/[^0-9a-zA-Z_]/.test(txt)) {
        lvl++;
    }
    return txt.length < 6 ? 0 : lvl;
}

function getRandomStr(){
    return md5(randomWord(20,15,32)+ Math.random()).toUpperCase();
}

function getObjFromData(form) {
    var objArray = form.serializeArray();
    if (!objArray || objArray.length == 0) {
        return {};
    }
    var obj = {};
    for (var i = 0; i < objArray.length; i++) {
        if (objArray[i]['value']) {
            if (objArray[i]['name'] != 'createdTime' && objArray[i]['name'] != 'updateTime') {
                obj[objArray[i]['name']] = objArray[i]['value'].replace(/(^\s*)|(\s*$)/g,"");
            }
        }
    }
    return obj;
}

function getAjaxEntity(url, obj){
    var reObj = [];
    $.ajax({
        type : 'post',
        url : sdk.baseIP + url,
        dataType : 'json',
        data : obj,
        async : false,
        success : function(result) {
            reObj = result;
        }
    });
    return reObj;
}
